iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0

第一次參加鐵人賽,本身研究自然人憑證也一段時間,算是小有了解,打算利用此機會整理一下資料,分享給大家。內容會包含自然人憑證原理、程式範例、資安等。


前言

在政府單位工作三年了,其中也接觸了不少系統,許多對民眾的網站也都支援了自然人憑證驗證,可以用於報稅、填表單、註冊等功能,對於如何開發介接自然人憑證也研究的有點心得,接下來就會花幾篇來介紹關於自然人憑證使用的知識。


政府的身分驗證機制

談自然人憑證前,我們先來談系統需求,政府有各種大大小小的網站,每個網站都會有自己的會員清單,需要另外建立帳號密碼,但對民眾來說要記住每個網站的帳號密碼是件很繁瑣的事情,而且安全性也較低。為了統一身分驗證的使用者體驗,只要網站能跟我的卡片驗證,卡片又代表我個人,那我就可以用卡片來登入網站。如下圖人事服務網可以透過自然人憑證、健保卡、行動自然人憑證等驗證機制。


圖:人事服務網 https://ecpa.dgpa.gov.tw/


自然人憑證

過去,政府無法在網路上為人民服務,主要原因有二:一是網路上身份驗證困難,冒名行為可能造成損失;二是資料未加密傳輸存在風險。內政部於 2003 年推出自然人憑證,就是為了解決上述問題。


圖:自然人憑證

申請

自然人憑證申請方式為,任何自然人都可以到戶政事務所申辦,包含外國人也可以,有效期限為5年,可展期3年,共計最長8年。

功能

自然人憑證利用非對稱式加解密技術,提供身份驗證、數位簽章和資料加密三大功能,確保網路身份驗證、電子檔案完整性及資料機密性。自然人憑證應用於政府E化服務,如線上申辦戶籍登記、報稅、健保資料查詢和勞農保查詢等,降低個人資料外洩風險。

使用

使用上,需要將自然人憑證插入電腦的讀卡機,並輸入卡片 PIN 碼進行操作。而新卡(卡號 TP07 開頭)可以透過 NFC 進行感應,行動自然人憑證註冊就有使用此功能,舊卡(卡號 TP03 開頭)則不支援。


憑證三大功能及原理

自然人憑證內存了兩組個人的公私鑰,一組用於數位簽章,一組用於資料加密。且數位簽章的公私鑰無法用於資料加密,反之亦然。接下來簡單介紹兩者的差別。

數位簽章

數位簽章用於電子文件上的簽名,確保檔案的完整性和不可否認性,是為了確認資料在傳遞的過程中不被竄改。
原理如上圖所示,我們將資料透過自然人憑證卡的私鑰進行加密,會產生一組密文,此動作稱為簽章。要驗證簽章則要將密文透過公鑰進行解密,並與原資料比對是否相同。

  • 目的:驗證資料的真實性和完整性,並確認發送者的身份
  • 原理:私鑰加密、公鑰解密

資料加密

資料加密則是為了確保資料內容只有透過自然人憑證解密才能讀取,方法為將資料透過自然人憑證卡的公鑰進行加密,需要讀取內容,需要透過自然人憑證卡的私鑰進行解密才能查看。

  • 目的:保護資料的機密性,使其只能被授權的接收者解讀
  • 原理:公鑰加密、私鑰解密

身分驗證

身分驗證的原理是透過數位簽章來完成的,通常網站會先有個註冊流程,註冊的時候會將數位簽章的公鑰綁定到帳號上,並儲存在伺服器上。當使用者鑰進行登入驗證的時候,會從網站後端產生一組待簽章值,給前端進行數位簽章產生簽章值,再將簽章值丟回到後端伺服器。當伺服器透過公鑰將簽章值解開與原文相同時,就代表是使用同一組公私鑰進行簽章,則驗證通過。


系列文
自然人憑證與網頁開發的實踐與資安1
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言